/**
 * Created by J on 2016/11/8.
 */
//主页控制器
(function (angular) {
  var app=angular.module('home.controllers',['home.service']);
  app.controller('home.ctrl',function ($scope,$interval,homeFactory) {
    //console.log(homeFactory.headerSlideData());
    //因为考虑到ion-view有可能出现未加载完成的问题，所以需要在ion-view加载完成后再去初始化swiper
    $scope.$on('$ionicView.enter',function () {
      headerSwiper();
      toutiaoSwiper();
      timedSecKill();
      topColorChange();
      goTop();
    });
    //获取到头部轮播图
    $scope.headerSlideData=homeFactory.headerSlideData();
    //初始化头部轮播图
    function headerSwiper() {
      new Swiper('#headerSlider',{
        pagination:'.swiper-pagination',//分页器
        autoplay:1500,

      })
    }
    //京东头条滚动
    function toutiaoSwiper() {
      new Swiper('#toutiaoSlider',{
        autoplay:1800,
        direction : 'vertical', //上下滚动
      })
    }
    //限时秒杀
    function timedSecKill(){
      //setInterval==$interval 这两个方法都是一样的调用
      //初始化的时间
      var timeLeft = {h:1,m:30,s:10};
      var interval =  $interval(function(){
        //开始倒计时
        if(timeLeft.s>0){
          timeLeft.s--;
        }else if(timeLeft.m>0){
          timeLeft.m--;
          timeLeft.s=59;
        }else if(timeLeft.h>0){
          timeLeft.h--;
          timeLeft.m=59;
          timeLeft.s=59;
        }
        $scope.hour={
          A:getTime().A(timeLeft.h),  //所有的A都表示是十位上的数
          B:getTime().B(timeLeft.h)   //所有的B都表示是个位上的数
        };
        // 分钟数
        $scope.minute={
          A:getTime().A(timeLeft.m),
          B:getTime().B(timeLeft.m)
        };
        // 秒数
        $scope.second={
          A:getTime().A(timeLeft.s),
          B:getTime().B(timeLeft.s)
        }
      },1000);

      // time  // 0-59,
      // 这个方法是得到时间的个位和10位数
      function getTime(time){
        return {
          // A方法表示得到10位数据
          // 一种是大于10的数据： 18/10 =1.8
          //09
          A:function(time){
            if(time>=10){
              return parseInt(time/10);//得到的是小数的整数部分，不会四舍五入.
            }else{ // 8
              return 0;
            }
          },
          // B方法表示得到个位数
          B:function(time){
            if(time>=10){  // 18
              return time%10; // 通过求余得到个位数
            }else{
              return time; // 8
            }
          }
        }
      }
    }
    //头部变色
    function topColorChange(){
      // 注册滚动事件
      var content = document.getElementById('home-content');
      var headBar = document.getElementById('headerBar-bg');
      var nowOpacity = 0;
      content.onscroll=function(){
        // this.scrollTop 得到滚动条的高度
        // 500 nowOpacity 1
        nowOpacity = this.scrollTop/500;// 根据页面滚动的高度得到透明度
        headBar.style.opacity=nowOpacity;
      }
    }
    //回到顶部
    function goTop(){
      // 注册滚动
      var content = document.getElementById('home-content');
      var goTop = document.querySelector('.back_top');
      content.addEventListener('scroll',function(){
        if(this.scrollTop>=250){
          goTop.style.display='block';
          goTop.style.opacity=1;
        }else{
          goTop.style.display='none';
        }
      });

      // 注册点击事件，滚动到顶部。
      goTop.onclick=function(){
        content.scrollTop=0;
      }
    }

  })
})(angular);
